﻿using System.Collections.Generic;
using Sinacor.Infra.Service.Common;
using Sinacor.Infra.Common.Exceptions;
using Sinacor.Infra.Service.ExceptionHandling;

namespace Sinacor.Servico.Bovespa.Corretagem.BusinessLogic {
	/// <summary>
	/// Logica de negocios para tipo de operacao de verificacao de politica de
	/// corretagem
	/// </summary>
	public class TipoOperacaoVerificacao : BaseBusinessLogic 
    {
		#region Atributos

		private int _erroObjetoNulo = 109544;
        ResourceAccess.TipoOperacaoVerificacao _raTipoOperacaoVerificacao = null;

		#endregion

        #region Construtor

        /// <summary>
        /// Cosntrutor TipoOperacaoVerificacao
        /// </summary>
        public TipoOperacaoVerificacao()
            : base()
        {
            this._raTipoOperacaoVerificacao = new ResourceAccess.TipoOperacaoVerificacao();
        }

        #endregion

		#region Propriedades

        /// <summary>
        /// Objeto Nulo
        /// </summary>
		public int ErroObjetoNulo{
			get
			{
				return _erroObjetoNulo;
			}
			set
			{
				_erroObjetoNulo = value;
			}
		} 

		#endregion

		#region Métodos

		/// <summary>
		/// Consultar lista de tipos de operações de verificação conforme filtro
		/// </summary>
		/// <param name="entity"></param>
		public List<BusinessEntity.TipoOperacaoVerificacao> ConsultarTiposOperacoes(BusinessEntity.Parameter.FiltroTipoOperacaoVerificacao entity)
        {
            if (entity != null)
            {
                return this._raTipoOperacaoVerificacao.ConsultarTiposOperacoes(entity);
            }
            else
            {
                throw new BusinessException(ErroObjetoNulo);
            }
        }

        #endregion
    }
}